Archive-name: tcl-faq/part3
Comp-lang-tcl-archive-name: tcl-faq.part03
Version: 6.7
Last-modified: Apr. 28, 1995
For more information concerning Tcl (see "tcl-faq/part1"),
(see "tcl-faq/part2"), (see "tcl-faq/part4") or (see "tcl-faq/part5").
Index of questions:
XI. Where can I get these packages?
A. Retrieving Tcl and Tk
B. Accessing the Tcl/Tk User Contributions Archive
C. Expect available via e-mail.
D. EMACS modes for Tcl
E. The tk toolbox project
F. [tv]grind definitions for tcl/tk/expect
G. BNF style notation for Tcl
H. Tk Quick Reference Card
I. Hilit 19 Tcl mode
J. HTML versions of Tcl man pages and FAQ.
K. Japanese translation of Tk 3.6 manuals
L. Latex styles for the Tcl/Tk Workshop 94.
M. Tcl 7.3 Quick Reference card
N. "How do I speed up a Tcl/Tk application" doc
O. How do I access http: files without a WWW client?
P. Where do I find the patch command?
End of FAQ Index
----------------------------------------------------------------------
------------------------------
From: FAQ Tcl/Tk Package Catalog
Subject: -XI- Where can I get these packages?
Tcl and Extended Tcl have been posted to comp.sources.misc in the past,
appearing In volume 25 and then Tcl appeared again in volume 26 and can
be found at most comp.sources.misc archive sites in the tcl and tclx
directories. These are quite old versions actually, but are still usable.
A few of the sites which either mirror the Tcl/Tk submissions or have special
versions are:
<- shadow of the user contrib and base
<- Does not seem to be answering
<- base
<- user archive
<- shadow of base,user,expect,
ak, tkwin, and comp.lang.tcl archive
<- VUW
<- shadow of ftp.cs only
<- some code mirrored
<- some code mirrored
<- some code mirrored
<- shadow of user archive
<- shadow of
FAQs
<- the original home of user
contribution archive
<- original home of Tcl/Tk base code
<- shadow of user, etc.
<- original home of TclX
<- shadow of base code only
<- shadow of base only
<- contains port of extended Tcl and
extended Tk to this OS.
Note also that there are a number of CD-ROMs now available with a snapshot
of various Tcl archive sites on them. (See "tcl-faq/bibliography/part1")
for details.
------------------------------
From: -XI- Where can I get these packages?
Subject: -A- Retrieving Tcl and Tk
>From: ouster@cs.Berkeley.EDU (John Ousterhout)
>Newsgroups: comp.lang.tcl
>Subject: Obtaining Tcl/Tk sources
For people new to the Tcl/Tk community, here is information on how
to obtain Tcl and Tk sources. The information below describes what
I distribute; other information is available from other machines
also, such as ftp.aud.alcatel.com.
The sources and documentation for the Tcl command
language library, for the Tk toolkit, and for a few Tcl-based
applications, are in the public FTP area on ftp.cs.berkeley.edu.
All of these files are in the "tcl" subdirectory of the FTP area.
Here is a catalog of what's available. Most of the files are
compressed tar files ("xxx.tar.Z"). There is some overlap
between the contents of the various packages.
tk3.6.tar.Z - This is the latest and most stable release of the
Tk toolkit, released in November 1993 (patch level
206). It includes the sources for the Tk library
and the "wish" windowing shell, plus reference
manual entries and a number of demonstration scripts.
tk3.6p1.patch.Z - Patch file that fixes bugs in Tk version 3.6.
See the beginning of the patch file for information
about the bugs it fixes and how to apply it.
tcl7.3.tar.Z - This is the latest and most stable release of the
Tcl library, released in November 1993 (patch level
106). It includes the sources for the Tcl library
and the "tclsh" application, plus reference manual
entries.
tclX7.3b.tar.Z - Extended Tcl (or NeoSoft Tcl), created by Mark
Diekhans and Karl Lehenbauer, which adds a number
of useful facilities to the base Tcl release.
Among the things in Extended Tcl are a Tcl shell,
many new commands for things like UNIX kernel
call access, keyed lists, and time conversion, and an
on-line help facility. This package works with Tcl
versions 7.3 or later and Tk versions 3.6 or later.
mx.tar.Z - Sources and documentation for a mouse-based text
editor (mx) and terminal emulator (tx) based on
Tcl. This is a very old release: it uses an old
version of Tcl (which is included) and doesn't
even use Tk; it uses an ancient toolkit called
"Sx". These tools will eventually be replaced
with new tools based on Tk and the newest Tcl.
mx-2.5.tar.Z - Newer version of mx (see above) that uses the
standard X selection mechanism rather than the
home-grown mechanism used by previous versions.
Version 2.5 is not backwards compatible with
previous versions (you can't cut and paste between
the two). Still uses sx and an old version of
Tcl (both of which are included).
engManual.tar.Z - Compressed tar file for a directory containing
the Tcl/Tk Engineering Manual, which describes
the coding and testing conventions used to develop
Tcl and Tk. I strongly encourage other Tcl/Tk
developers to follow these conventions, particularly
if you want to submit code for possible inclusion
into official releases.
book.p*.ps.Z Compressed Postscript for an early draft of the
book "Tcl and the Tk Toolkit", which was published
by Addison-Wesley in April 1994 (ISBN 0-201-63337-X).
The draft is in four parts, each in a separate file.
You're probably better off with the published version
of the book, though; it has a number of improvements
and an index.
book.p1.ps.Z This part describes the Tcl language and how to write
scripts in it. About 130 pages in length.
book.p2.ps.Z This part of the book describes how to write
Tcl scripts for Tk. About 125 pages in length.
book.p3.ps.Z This part of the book describes how to write Tcl
applications in C, using the Tcl library procedure.
64 pages in length.
book.p4.ps.Z This part of the book describes how to write new
widgets and geometry managers in C, using the Tk
library procedures. About 70 pages in length.
book.examples.Z Compressed file containing ASCII text for nearly all
of the examples from the Tcl book.
tclUsenix90.ps - Postscript for a paper on Tcl that appeared in the
Winter 1990 USENIX Conference.
tkUsenix91.ps - Postscript for a paper on Tk that appeared in the
Winter 1991 USENIX Conference.
tkF10.ps - Postscript for Figure 10 of the Tk paper.
tut.tar.Z - A collection of materials from a full-day tutorial
on Tcl and Tk. Includes viewgraphs from five one-hour
talks plus a sample widget.
tc-tcl93.ps.gz - PostScript formatted copy of Tcl Compiler paper
presented at the Tcl'93 Workshop.
tc-tcl93.tex.gz - LaTeX source for the Tcl Compiler paper presented
at the Tcl'93 Workshop.
In addition, there may be older releases of some or all of the above
files; look for files with earlier release numbers.
To retrieve any or all of these packages, use anonymous FTP to
ftp.cs.berkeley.edu (Internet address 128.32.149.78). Use user
"anonymous"; when asked for a password, type your email address. Then
retrieve the relevant file(s) with the commands like the following:
type image (try "type binary" if this command is rejected)
cd tcl
get tk3.6.tar.Z
Be sure to retrieve files in image mode (type "type image" to FTP)
in order to make sure that you end up with an uncorrupted file.
Any file with a .Z extension is a compressed file, which means you must
use the "uncompress" program to get back a normal file. For example, for
the file tk3.6.tar.Z, you should type
uncompress tk3.6.tar.Z
once you've retrieved the file. This will produce a file named "tk3.6.tar".
Then you will need to use tar to extract the members. Typically one
would use a command such as:
tar xv tk3.6.tar
to extract the pieces.
Any file with a .gz extension is a file compressed with gzip, the gnu
portable compression standard. To get a copy, ftp to prep.ai.mit.edu and
look in pub/gnu. For example, to uncompress tc-tcl93.ps.gz, type
gunzip tc-tcl93.ps.gz
once you've retrieved the file. This will produce a file named "tc-tcl93.ps".
Each of the releases has a README file in the top-level directory that
describes how to compile the release, where to find documentation, etc.
Questions or problems about any of these distributions should be directed
to (John Ousterhout).
------------------------------
From: -XI- Where can I get these packages?
Subject: -B- Accessing the Tcl/Tk User Contributions Archive
Contributions to the Tcl/Tk Contrib Archive are most welcome --
please upload them to:
send the archive maintainer a
note stating the names of the files you uploaded and a brief description
for the index.
Users without FTP capability should use one of the following mail-based
FTP services (send mail to the appropriate address with "help" in the
body):
BITNET users: BITFTP
Others: (DEC ftpmail)
Europe:
WARNING! The archive maintainer will NOT be automatically archiving anything
posted to comp.lang.tcl or previously to the mailing list. So if you want
your nifty porting instructions for getting Tcl up on your Seiko wrist watch
or your pen computer to be saved for others benefit, be sure to ftp them into
the archive.
All submissions should be ftp'ed into the above subdirectory. Please
send and a short mail message stating
the filename(s) of your contribution and a brief description (for the
Index). If you've posted some code to comp.lang.tcl or the Tcl mailing
list, and you want it to be archived at this site, please deposit it in
/tcl/incoming or mail it in a suitable form (preferably uuencoded
compressed tar file, but a shar file's OK) to
.
Also, PLEASE include a {packagename}.README file which describes the
contribution.
The Tcl/Tk archive can also be accessed via the World Wide Web (WWW)
with the URL, "http://web.cs.ualberta.ca/%7Ewade/Auto/Tcl.html"
Note: I have noticed that some authors prefer to use plain names rather than
version level type names. This means that you should a) make note of when
you get a package, and b) check the archive occasionally to see if a newer
version of the package has appeared.
------------------------------
From: -XI- Where can I get these packages?
Subject: -C- Expect available via e-mail.
Besides being available via ,
expect can also be received by email by sending the message
"send pub/expect/expect.shar.Z" to .
------------------------------
From: -XI- Where can I get these packages?
Subject: -D- EMACS modes for Tcl
(Sean Levy) has hacked a version of Emacs's
C mode into a tcl-mode.el. He mentions that you must use semi-colons at the
end of each statement to get indentation to work right, but he found that
easier than doing without.
The code is on [128.2.214.236]
(don't forget binary mode) as well as
.
(Julian Anderson) was also working on an Emacs Tcl
minor mode to fundamental.
(Chris Lindblad) has contributed tcl.el,
a Tcl mode for GNU emacs. It's address is
.
(Tom Tromey) has contributed a tcl.el
which is better than his former tcl-help.el. This is a modified version of
Chris Lindblad's Tcl editing mode. This new editing mode contains the
help code, a tcl interaction mode, menus, font lock support, etc. It
is available on the Emacs Lisp Archive at
and on
(Gregor Schmid) has written
a major mode for tcl scripts. He posted tcl-mode 1.1 to gnu.emacs.sources
in March and it should be on archive.cis.ohio-state.edu - but I am not able to
locate it.
The latest version of xemacs (formerly lemacs) mentions that it has
a tcl-mode built in.
------------------------------
From: -XI- Where can I get these packages?
Subject: -E- The tk toolbox project
The Tk Toolbox & Toolchest project.
The Toolchest consists of convenience routines for Tcl and Tk - a kind of a
libc for Tcl. The toolbox is a collection of commonly used code and
some specialized code such as file selectors, dialogs that take care of
keyboard traversal through items automatically, etc.
The project has currently not yet reached a usable state, but each formal
release will be announced in comp.lang.tcl as well as other newsgroups.
There has been, in the past, a mailing list for discussion of the tk toolbox,
kindly provided by Ari Lemmke. To subscribe, write a message with the line:
X-Mn-Admin: join tktools
in the body or header of the message. Send this message to
.
To write to the list, send messages to
and add the line
X-Mn-Key: TKTOOLS
to the header or the body of the message. Especially remember this when
replying to messages from the list.
For more info about the list server (mailnet), write
an empty message to .
The intermediate snapshots are announced on this mailing list.
If you have problems or are willing to donate code or whatever,
you can contact the code maintainer (one of the three main implementors)
at or .
Unfortunately, the development effort has currently come to a stop on this
project and it is not yet known when it will be started again.
------------------------------
From: -XI- Where can I get these packages?
Subject: -F- [tv]grind definitions for tcl/tk/expect
(Martin Hamilton) has come up with
a preliminary grindcap definition for Tcl, Tk and expect. These are available
as:
(Andy Rabagliati) has come up with a preliminary
grindcap definition for Tcl. Contact him for more details.
------------------------------
From: -XI- Where can I get these packages?
Subject: -G- BNF style notation for Tcl
(TERRENCE MONROE BRANNON) in July of 1993,
posted some yacc code for a tcl-to-c parser. This, along with Adam Sah's Tcl
compiler, are a couple of sources with which folk could start.
------------------------------
From: -XI- Where can I get these packages?
Subject: -H- Tk Quick Reference Card
(Paul E. Raines) has uploaded a quick
reference card for Tk 3.3. You may find it at:
The tar contains the TeX and PostScript versions of a 3 column listing
of all widget methods and options and summaries of the wm, winfo, pack,
place and bind commands.
------------------------------
From: -XI- Where can I get these packages?
Subject: -I- Hilit 19 Tcl mode
AI. Aaron Roydhouse wrote, and
(Julian Anderson) posted,
the following:
(hilit-set-mode-patterns
'tcl-mode
'(("\\s #.*$" nil comment)
("^#.*$" nil comment)
("\"[^\\\"]*\\(\\\\\\(.\\|\n\\)[^\\\"]*\\)*\"" nil string)
("\\$[-_a-zA-Z]+" nil varref)
("^source.*$" nil include)
("\\b\\(global\\|upvar\\)\\b" nil decl)
("\\b\\(error\\|debug\\)\\b" nil decl)
("^\\s *proc\\s +\\(\\w\\|[_']\\)+" nil defun)
("\\b\\(set\\|lset\\|list\\|if\\|case\\|while\\|switch\\|then\\|else\\|
for\\|foreach\\|return\\|expr\\|catch\\)\\b" nil keyword)))
Dwight Shih later posted the following font
lock mode:
(defvar tcl-font-lock-keywords
(list
(list (concat "\\b\\("
(mapconcat 'identity
'("set" "lset" "list" "if" "case" "while"
"switch" "then" "else" "for" "foreach"
"return" "expr" "catch" "puts" "proc"
"trace")
"\\|")
"\\)\\b")
1 'font-lock-keyword-face t)
(list (concat "\\b\\("
(mapconcat 'identity
'("global" "upvar" "uplevel" "error" "debug")
"\\|")
"\\)\\b")
1 'font-lock-type-face t)
(list "^\\s *proc\\s +\\(\\(\\w\\|[_']\\)+\\)" 1 'font-lock-function-name-fac
e t))
"keywords for tcl-mode")
(defun font-lock-set-defaults ()
"Set `font-lock-keywords' to something appropriate for this mode."
(setq font-lock-keywords
(cond ((eq major-mode 'lisp-mode) lisp-font-lock-keywords)
((eq major-mode 'emacs-lisp-mode) lisp-font-lock-keywords)
((eq major-mode 'c-mode) c-font-lock-keywords)
((eq major-mode 'c++-c-mode) c-font-lock-keywords)
((eq major-mode 'c++-mode) c++-font-lock-keywords)
((eq major-mode 'tex-mode) tex-font-lock-keywords)
((eq major-mode 'perl-mode) perl-font-lock-keywords)
((eq major-mode 'tcl-mode) tcl-font-lock-keywords)
((eq major-mode 'texinfo-mode) texi-font-lock-keywords)
(t nil))))
------------------------------
From: -XI- Where can I get these packages?
Subject: -J- HTML versions of Tcl man pages and FAQ.
Mike Hopkirk has provided a tar archive of
HyperText Markup Language (HTML) versions of the comp.lang.tcl FAQ, the
Tcl/Tk man pages, index pages for the man pages, and a top level access
page to tie together all the above. It is
Note that once these have been untarred, one can use a WorldWideWeb (WWW)
browser such as Mosaic, Lynx, etc. to begin at the Tcl.html page and read
the entire distribution. The original source of this package can be
examined at:
Having the package in this way provides a means for those behind a firewall
to examine the docs frozen at this point in time. There are no commitments
to continue providing updates to this package.
The man pages provided here were made using a perl script called
man2html originally written by (Brooks Cutter)
and slightly post processed.
Tom Phelps has written RosettaMan,
which allows one to translate man pages into many formats, including
HTML. (see "tcl-faq/part04") for details.
------------------------------
From: -XI- Where can I get these packages?
Subject: -K- Japanese translation of Tk 3.6 manuals
Toshiya Kitayama and nakaya@sra.co.jp have made
a Japanese translation of Tk 3.6 manual pages except pack-old.n available
at . If
you have questions or comments, send them to .
------------------------------
From: -XI- Where can I get these packages?
Subject: -L- Latex styles for the Tcl/Tk Workshop 94.
Yasuro Kawata released the
Latex styles as well as a sample document and sample .dvi file to the
news group. Contact this user directly for a copy.
------------------------------
From: -XI- Where can I get these packages?
Subject: -M- Tcl 7.3 Quick Reference card
Jeff Tranter has written a
Tcl Quick Reference document in TeX. A PostScript version of the document is
provided in the file as well.
------------------------------
From: -XI- Where can I get these packages?
Subject: -N- "How do I speed up a Tcl/Tk application" doc
is a text document with examples on how to speed up Tcl/Tk applications.
Thanks to Stephen O. Lidie for the work!
------------------------------
From: -XI- Where can I get these packages?
Subject: -O- How do I access http: files without a WWW client?
Within the various TCL FAQs there are references to items in the
form of http://host.name/path/to/file . These are in a form
which are useful to WorldWideWeb (WWW) clients. But for those unable
to use WWW for some reason, there is a modicum of relief. To access
these files via email:
1. Address a message to:
2. There is no need for a Subject: line.
3. In the body of the message, type:
send http://host.name/path/to/file
4. Be sure to provide the path name you are seeking rather than the
sample above. Eventually you should get back the file in question.
------------------------------
From: -XI- Where can I get these packages?
Subject: -P- Where do I find the patch command?
The patch command is used to apply updates to a source package. It
assumes that you have the previous version of the source package in
an uncompressed format as well as a file containing one or more modifications
to make.
One very popular version of the patch command is the one currently a part of
the project GNU archives. One place to being looking for these is
. If this site has too many users, it's
messages tell you some alternative sites to try.
------------------------------
End of comp.lang.tcl Frequently Asked Questions (3/5)
*****************************************************
--
:s Larry W. Virden INET: larry.virden@cas.org
:s
:s Unless explicitly stated to the contrary, nothing in this posting should
:s be construed as representing my employer's opinions.
--
:s Larry W. Virden INET: larry.virden@cas.org
:s
:s Unless explicitly stated to the contrary, nothing in this posting should
:s be construed as representing my employer's opinions.